The present invention relates generally to digital communication systems and more particularly to digital communication systems in which a number of digital handling devices are connected at nodes to a single communication channel.
Digital communication over a communication channel is well known in the art. To control the digital data communication occurring over a communication channel, a protocol is required in order to control the traffic or to decrease the error rate. The implementation of a protocol to handle the data communication on a channel dates back to the "bisync" and other sychronous protocols of the 1960's.
A given communication channel operates at a given transmission rate. Two major problems occur as the transmission rate of the communication channel is significantly increased. These major problems are the inherent bit error rate of the transmission media and the loss of synchronization due to lost messages or clock instability. These problems contribute to the overall probability of failure to deliver the proper message. The probability of an inability to deliver the message increases superlinearly as the size of the message, or frame, sent increases. A typical solution to this problem has been to break the data message up into small packets, each framed by synchronizing and error detection data to counteract these major problems. However, the framing overhead, i.e., the number of frame bits required to achieve the synchronization and error detection data, on a given data message may become a significant part of the overhead of the data communicated over the data communication channel
Further, the necessity of serving a multiplicity of users over a single channel dictates a small frame size in order to make the communication channel available to all users. Since the data frames must be sent one at a time these data messages must be time division multiplexed to provide equitable response to the many users on the communication channel. Several techniques have been developed in the prior art in order to handle this time division multiplexing for a multiplicity of users are connected to a single communication channel.
One common technique is known as token passing. A token, a special bit pattern, is circulated over the communication channel serially among the various users and only the user receiving, or capturing, the token is allowed to initiate communication over the communication channel. When that user is done communicating over the channel, the user passes the token onto the next possible user. See, for example, U.S. Pat. No. 4,293,948 and U.S. Pat. No. 4,464,749.
Another protocol known in the prior art is the "first-come first-served" method but with a method of collision detection. This protocol is the so called CSMA/CD protocol See, for example, U.S. Pat. No. 4,464,658, U.S. Pat. No. 4,210,780 and U.S. Pat. No. 4,063 220.
The token passing and CSMA/CD protocols result in further framing and arbitration overhead on a given digital data message which increases exponentially as the digital data message communication traffic increases over the communications channel. For example, a common implemention of the CSMA/CD protocol, Ethernet (Ethernet is a trademark of Xerox Corporation), uses packet size and framing techniques which can cause a reduction in message carrying efficiency by as much as 40% in situations of heavy load, i.e., many simultaneous users, or large amounts of digital data to be transmitted. Another problem with these "open access" protocols is that when the blocks of data needed to be sent are large and the individual frames are small, the total time needed to complete the data transmission can be very long. This is because many user stations are sharing the single communication channel in small increments of time. For large data block transmissions this is not an efficient use of communication channel resources.
Thus, there exists a need to have a communication system utilizing a single communication channel to efficiently service a multiplicity of users and which can be efficient in transmitting both small data blocks and large data blocks as the users of the communication channel desire.